//deque 对象创建
#include <iostream>
#include <deque>
using namespace std;

//打印
void printDeque(deque<int> d)
{
    for(deque<int>::iterator iter=d.begin();iter!=d.end();iter++)
    {
        cout<<*iter<<" ";
    }
    cout<<endl;
}

int main()
{
    //创建一个空的deque d1
    deque<int> d1;
    cout<<"d1:"<<endl;
    printDeque(d1);

    //使用初始化列表创建d2_1
    deque<int> d2_1({9,8,5,2,1,1});
    cout<<"d2_1:";
    printDeque(d2_1);

    //使用另外一种类似方法创建
    deque<int> d2_2={9,8,5,2,1,1};
    cout<<"d2_2:";
    printDeque(d2_2);

    //从d2_1中创建一个子deque d3,取出首尾元素
    deque<int> d3(d2_1.begin()+1,d2_1.end()-1);
    cout<<"d3:";
    printDeque(d3);

    //创建一个大小为10的deque d4,元素为默认值0
    deque<int> d4(10);
    cout<<"d4:";
    printDeque(d4);

    //创建一个包含8个6的deque d5
    deque<int> d5(8,6);
    cout<<"d5:";
    printDeque(d5);

    //创建d6为d5的副本
    deque<int> d6(d5);
    cout<<"d6:";
    printDeque(d6);

    return 0;
}